package com.distribute.pojo.workflow;

import com.distribute.pojo.enums.FailureStrategy;
import com.distribute.pojo.enums.Priority;
import com.distribute.pojo.enums.WarningType;

import java.util.Date;

public class ScheduleStruct {

    private Long projectCode;

    private Schedule schedule;

    //failureStrategy
    private FailureStrategy failureStrategy;

    //warningType
    private WarningType warningType;

    //processInstancePriority
    private Priority processInstancePriority;

    //warningGroupId
    private int warningGroupId;

    //workerGroup
    private String workerGroup;

    //environmentCode
    private int environmentCode;

    //processDefinitionCode
    private long processDefinitionCode;

    public static class Schedule {
        //startTime
        private Date startTime;

        //endTime
        private Date endTime;

        //crontab
        private String crontab;

        //timezoneId
        private String timezoneId;

        public Date getStartTime() {
            return startTime;
        }

        public void setStartTime(Date startTime) {
            this.startTime = startTime;
        }

        public Date getEndTime() {
            return endTime;
        }

        public void setEndTime(Date endTime) {
            this.endTime = endTime;
        }

        public String getCrontab() {
            return crontab;
        }

        public void setCrontab(String crontab) {
            this.crontab = crontab;
        }

        public String getTimezoneId() {
            return timezoneId;
        }

        public void setTimezoneId(String timezoneId) {
            this.timezoneId = timezoneId;
        }
    }

    public Schedule getSchedule() {
        return schedule;
    }

    public void setSchedule(Schedule schedule) {
        this.schedule = schedule;
    }

    public FailureStrategy getFailureStrategy() {
        return failureStrategy;
    }

    public void setFailureStrategy(FailureStrategy failureStrategy) {
        this.failureStrategy = failureStrategy;
    }

    public WarningType getWarningType() {
        return warningType;
    }

    public void setWarningType(WarningType warningType) {
        this.warningType = warningType;
    }

    public Priority getProcessInstancePriority() {
        return processInstancePriority;
    }

    public void setProcessInstancePriority(Priority processInstancePriority) {
        this.processInstancePriority = processInstancePriority;
    }

    public int getWarningGroupId() {
        return warningGroupId;
    }

    public void setWarningGroupId(int warningGroupId) {
        this.warningGroupId = warningGroupId;
    }

    public String getWorkerGroup() {
        return workerGroup;
    }

    public void setWorkerGroup(String workerGroup) {
        this.workerGroup = workerGroup;
    }

    public int getEnvironmentCode() {
        return environmentCode;
    }

    public void setEnvironmentCode(int environmentCode) {
        this.environmentCode = environmentCode;
    }

    public long getProcessDefinitionCode() {
        return processDefinitionCode;
    }

    public void setProcessDefinitionCode(long processDefinitionCode) {
        this.processDefinitionCode = processDefinitionCode;
    }

    public Long getProjectCode() {
        return projectCode;
    }

    public void setProjectCode(Long projectCode) {
        this.projectCode = projectCode;
    }
}
